#pragma once

#include <QtWidgets/QMainWindow>
#include <QMenu>
#include <QMenuBar>
#include <QAction>
#include <QToolBar>
#include <QLineEdit>
#include <QTextEdit>
#include <QVBoxLayout>
#include <QFile>
#include <QFileDialog>
#include <QTextStream>
#include <QMessageBox>
#include <QSlider>
#include <QSpinBox>
#include <QPushButton>

#include "my_label.h"
#include "ui_QtWidgetsApplication.h"

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget *parent = Q_NULLPTR);

private:
    Ui::QtWidgetsApplicationClass ui;
    ImageLabel* imageLabel;

    QString currentFile;

    QMenu* fileMenu, * editMenu, * helpMenu;

    QAction* newAct;
    QAction* openAct;
    QAction* saveAct;
    QAction* saveasAct;

    QAction* pencilAct;
    QAction* vacuityAct;
    QAction* sharpeningAct;
    QAction* edgeAct;
    QAction* moveAct;
    QAction* saturationAct;
    QAction* drawrect;
    QAction* drawcyc;
    QAction* clear;

    QSpinBox* pSpinBox;
    QSlider* pSlider;
    QPushButton* Sliderbutton;
    QAction* savechaneg;

private slots:
    void newFile();
    void openFile();
    void saveFile();
    void saveasFile();

    void usepencil();
    void usevacuity();
    void usesharpening();
    void useedge();
    void usemove();
    void usesaturation();
    void useclear();
    void usedrawrect();
    void usedrawcyc();

    void updatesaturation(int v);
    void savechange();
};
